package com.party.core.dao.read.analysis;

import com.party.common.paging.Page;
import com.party.core.dao.read.BaseReadDao;
import com.party.core.model.analysis.PageListOutput;
import com.party.core.model.analysis.StatisticsPageFlow;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;
import java.util.Map;

/**
 * @program: party-temp
 * @description: 页面流程数据读取
 * @author: Huaqunhao
 * @create: 2018-08-01 10:53
 **/
@Repository
public interface StatisticsPageFlowReadDao extends BaseReadDao<StatisticsPageFlow> {

    List<PageListOutput> analysisPage(@Param("params") Map<String, Object> params);

    Integer analysisPageCount(@Param("params") Map<String, Object> params);

    StatisticsPageFlow getNewFlow(String uniqueCode);

    Map<String, Object> getUvAndOutCount(@Param("params") Map<String, Object> params);

    List<StatisticsPageFlow> queryPageBydate(@Param("startDate") String startDate, @Param(value = "endDate") String endDate,
                                             @Param("pageNum") int pageNum, @Param("pageSize") int pageSize);

    Integer queryPageTotalNumByDate(@Param("startDate") String startDate, @Param(value = "endDate") String endDate);

    /**
     * @Description: 通过时间查询页面详情列表
     * @Param:
     * @return:
     * @Author: Hua Qunhao
     * @Date: 2018/12/25
     */
    List<StatisticsPageFlow> queryPageFlowListByDate(@Param("queryDate") String queryDate, Page page);

    /**
     * @Description: 通过时间查询页面详情数量
     * @Param:
     * @return:
     * @Author: Hua Qunhao
     * @Date: 2018/12/25
     */
    int queryPageFlowCountByDate(@Param("queryDate") String queryDate, @Param("total") Integer total);

}
